package com.tanhua.dubbo.api.mongo;

import com.tanhua.domain.vo.PageResult;

import java.util.List;

public interface UserLikeApi {
    /**
     * 根据用户id查询互相喜欢、喜欢、粉丝
     */
    Long queryEachLoveCount(Long userId);
    Long queryLoveCount(Long userId);
    Long queryFanCount(Long userId);

    /**
     * 接口名称：互相喜欢、喜欢、粉丝、谁看过我 - 翻页列表
     */
    PageResult queryEachLoveList(Long userId, Integer page, Integer pagesize);
    PageResult queryLoveList(Long userId, Integer page, Integer pagesize);
    PageResult queryFanList(Long userId, Integer page, Integer pagesize);
    PageResult queryVistorsList(Long userId, Integer page, Integer pagesize);

    /**
     * 删除粉丝中的喜欢数据
     * @param userId  登陆用户id，比如1
     * @param likeUserId 前端传入的粉丝用户id，比如23
     */
    void delete(Long userId, Long likeUserId);


    /**
     * 喜欢
     * @param userId
     * @param likeUserId
     * @return
     */
    Boolean likeUser(Long userId, Long likeUserId);


    /**
     * 不喜欢
     * @param userId
     * @param likeUserId
     * @return
     */
    Boolean notLikeUser(Long userId, Long likeUserId);



    /**
     * 是否相互喜欢
     * @param userId
     * @param likeUserId
     * @return
     */
    Boolean isMutualLike(Long userId, Long likeUserId);



    /**
     * 查询喜欢列表
     * @param userId
     * @return
     */
    List<Long> queryLikeList(Long userId);


    /**
     * 查询不喜欢列表
     * @param userId
     * @return
     */
    List<Long> queryNotLikeList(Long userId);


    void unLike(Long userId, Long likeUserId);
}
